home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / unpl3951.lha / UnpackLibV39.51 / Include / Libraries / Unpack.i < prev   
Text File  |  1992-09-02  |  10KB  |  343 lines

  1. ; Unpack Library Include File
  2. ;
  3.  
  4.     IFND    Unpack.i
  5.  
  6. Unpack.i    =    1
  7.  
  8.     INCLUDE    "Exec/Types.i"
  9.  
  10. BPTR        MACRO
  11. \1        EQU     SOFFSET
  12. SOFFSET     SET     SOFFSET+4
  13.         ENDM
  14.  
  15. ; Library Name & Version
  16.  
  17.  
  18. UNPACKNAME    MACRO
  19.         dc.b    "unpack.library",0
  20.         ENDM
  21.  
  22. UnpackVersion    =    39
  23. UnpackRevision    =    51
  24.  
  25.  
  26. ; First The Library Offsets
  27.  
  28. AllocCInfo    =    -30
  29. FreeCInfo    =    -36
  30. DetermineFile    =    -42
  31. Unpack        =    -48
  32. TestHunk    =    -54
  33. UnpackNum    =    -60        ;OBSOLETE!!!!
  34. UnpackList    =    -66
  35. UnpackListNext    =    -72
  36.  
  37. LoadFile    =    -78        ;V34.20
  38. FreeFile    =    -84        ;V34.20
  39.  
  40. UseDrive    =    -90        ;V36+
  41. UnuseDrive    =    -96        ;V36+
  42. SendCmd        =    -102        ;V36+
  43. NewUnpackNum    =    -108        ;V37+
  44.  
  45. ; Library Base Structure
  46.  
  47.  
  48.     STRUCTURE LibraryStruct,0
  49.     STRUCT    LIB_Node,14
  50.     UBYTE    LIB_Flags
  51.     UBYTE    LIB_Pad
  52.     UWORD    LIB_NegSize
  53.     UWORD    LIB_PosSize
  54.     UWORD    LIB_Version
  55.     UWORD    LIB_Revision
  56.     APTR    LIB_IDString
  57.     ULONG    LIB_Sum
  58.     UWORD    LIB_OpenCnt
  59.  
  60.     BPTR    LIB_SegList
  61.     APTR    LIB_DosBase
  62.     APTR    LIB_IntBase
  63.     LABEL    LibraryStruct_SIZEOF
  64.  
  65.  
  66. ; Unpack Numbers Structure (V37+)
  67.  
  68.  
  69.     STRUCTURE NumberStruct,0
  70.     UWORD    NS_Version        ;Library Version
  71.     UWORD    NS_Revision        ;Library Revision
  72.     UWORD    NS_Types
  73.     UWORD    NS_Unpackers
  74.     LABEL    NumberStruct_SIZEOF
  75.  
  76.  
  77. ; Drive Structure (V36+)
  78.  
  79.  
  80.     STRUCTURE DriveStruct,0
  81.     APTR    DRV_UnpackInfo
  82.     STRUCT    DRV_IOStdReq,48
  83.     STRUCT    DRV_MsgPort,34
  84.     STRUCT    DRV_DevName,48
  85.     STRUCT    DRV_DriveName,10
  86.     LABEL    DriveStruct_SIZEOF
  87.  
  88.  
  89. ; Unpack Info Structure
  90.  
  91.  
  92.     STRUCTURE UnpackInfo,0
  93.     APTR    UI_Filename
  94.     APTR    UI_Path
  95.     APTR    UI_Jump
  96.     APTR    UI_CruncherName
  97.     APTR    UI_DecrunchAdr
  98.     LONG    UI_DecrunchLen
  99.     UWORD    UI_ErrorNum
  100.     UWORD    UI_CrunchNum
  101.     UBYTE    UI_CrunchType
  102.     UBYTE    UI_Flag
  103.     APTR    UI_LoadNamePoi
  104.     LONG    UI_CrunchLen
  105.     APTR    UI_UserData        ;V35+
  106.     APTR    UI_TrackJump        ;V36+
  107.     APTR    UI_TrkErrJump        ;V36+
  108.     LONG    UI_Offset        ;V36+
  109.     UWORD    UI_Track        ;V36+
  110.     APTR    UI_ErrorMsg        ;V37+
  111.     APTR    UI_CrunchAdr        ;V37+
  112.     APTR    UI_LhaPattern        ;V38+
  113.     BOOL8    UI_UseFilenamePointer    ;V39+
  114.  
  115. ; This Is Private, Do NOT Touch
  116.  
  117.     UBYTE    UI_Pad
  118.     LONG    UI_CrunchLenTemp
  119.     LONG    UI_FileHandler
  120.     LONG    UI_Lock
  121.     LONG    UI_OldLock
  122.     APTR    UI_InfoAdr
  123.     APTR    UI_UnpackPoi
  124.     ULONG    UI_Temp
  125.     STRUCT    UI_Data,4*4        ;V35+
  126.     STRUCT    UI_LoadName,128
  127.     STRUCT    UI_ExecuteString,256
  128.     STRUCT    UI_OutputFile,16
  129.     LABEL    UnpackInfo_SIZEOF
  130.  
  131.  
  132. ; The UI_Flag Have The Following Definations:
  133.  
  134. UFB_OneFile    =    0        ;This Select To Decrunch One File Or
  135.                     ;All Files In An Archive.
  136. UFB_Delete    =    1        ;Delete Files After Scanning.
  137. UFB_NoFree    =    2        ;Free Memory After Jump (V35+)
  138. UFB_Banner    =    3        ;Give Banner (V36+)
  139. UFB_NoLoad    =    4        ;Do Not Load File (V37+)
  140. UFB_Protect    =    5        ;Change Protection Bits (V38+)
  141.  
  142. UFN_OneFile    =    1<<UFB_OneFile
  143. UFN_Delete    =    1<<UFB_Delete
  144. UFN_NoFree    =    1<<UFB_NoFree
  145. UFN_Banner    =    1<<UFB_Banner
  146. UFN_NoLoad    =    1<<UFB_NoLoad
  147. UFN_Protect    =    1<<UFB_Protect
  148.  
  149.  
  150. ; And Now For The UI_CrunchType Flag: 
  151.  
  152. CRU_Archive    =    1        ;Archive (Lha, Zoo Etc.)
  153. CRU_Data    =    2        ;Data File
  154. CRU_Object    =    3        ;Object File
  155. CRU_Object2    =    4        ;2 Segment Object File
  156. CRU_Track    =    5        ;Track File (DMS) (V36+)
  157.  
  158. CRUB_Encryp    =    7        ;Encrypted File (If Bit Is Set)
  159.  
  160.  
  161. ; And The Error Flag:
  162.  
  163. ERR_Open    =    1        ;Can't Open File
  164. ERR_ReadWrite    =    2        ;Read/Write Error
  165. ERR_Memory    =    3        ;Allocation Error (Out Of Memory)
  166. ERR_Determine    =    4        ;Can't Determine File
  167. ERR_Password    =    5        ;Illegal Password
  168. ERR_Hunk    =    6        ;Hunk Error
  169. ERR_Extern    =    7        ;Extern File Error
  170.  
  171. ERR_Currupt    =    8        ;Crunched File Is Currupt (V35+)
  172.  
  173. ERR_Device    =    9        ;Illegal Device (V36+)
  174. ERR_DevOpen    =    10        ;Couldn't Opn Dev. Or Create Port V36+
  175. ERR_CRC        =    11        ;CRC Checksum Error (V36+)
  176. ERR_CheckSum    =    12        ;Checksum Error (V36+)
  177. ERR_Old        =    13        ;Decruncher In Lib. Too Old (V36+)
  178. ERR_DevErr    =    14        ;Error From Device (V36+)
  179.  
  180. ERR_Protect    =    15        ;Couldn't Set Protection Bits (V38+)
  181.  
  182. ERR_Output    =    16        ;Output File Error (V39+)
  183.  
  184. ; At Last The Cruncher Numbers:
  185.  
  186. MaxFilePack    =    12
  187.  
  188. CN_Lha        =    1        ;Lha
  189. CN_LhaSFX    =    2        ;LhaSFX
  190. CN_Pak10    =    3        ;Pak 1.0
  191. CN_Dms        =    4        ;Dms
  192.  
  193. CN_GnuPack10D    =    12        ;Gnu Packer 1.0 D
  194. CN_GnuPack12D    =    13        ;Gnu Packer 1.1/1.2 D
  195. CN_GnuPack12Two    =    14        ;Gnu Packer 1.1/1.2 Two Segment
  196. CN_GnuPack10    =    15        ;Gnu Packer 1.0
  197. CN_GnuPack12    =    16        ;Gnu Packer 1.1/1.2 One Segment
  198. CN_PPData    =    17        ;PowerPacker Data
  199. CN_PPDataE    =    18        ;PowerPacker Data/Encrypted
  200. CN_PPLoadSeg    =    19        ;PowerPacker LoadSeg
  201. CN_PPLib    =    20        ;PowerPacker Library
  202. CN_PPLibE    =    21        ;PowerPacker Library/Encrypted
  203. CN_PPLibOv    =    22        ;PowerPacker Library/Overlayed
  204. CN_PP2x        =    23        ;PowerPacker 2.x
  205. CN_PP30        =    24        ;PowerPacker 3.0
  206. CN_PP30E    =    25        ;PowerPacker 3.0 Encrypted
  207. CN_PP30Ov    =    26        ;PowerPacker 3.0 Overlayed
  208. CN_PP41        =    27        ;PowerPacker 4.0-4.1
  209. CN_PP41E    =    28        ;PowerPacker 4.0-4.1 Encrypted
  210. CN_PP41Ov    =    29        ;PowerPacker 4.0-4.1 Overlayed
  211. CN_Turtle13    =    30        ;Turtle Smasher 1.3
  212. CN_TSqueeze80    =    31        ;TurboSqueezer 8.0
  213. CN_TSqueeze80S    =    32        ;TurboSqueezer 8.0 Small
  214. CN_TryIt101    =    33        ;TryIt 1.01
  215. CN_Titanic11    =    34        ;Titanics Cruncher 1.1
  216. CN_Titanic12    =    35        ;Titanics Cruncher 1.2
  217. CN_Time22    =    36        ;Time Cruncher 1.7-2.2
  218. CN_Tetra21    =    37        ;TetraPacker 2.1
  219. CN_Tetra21Pro    =    38        ;TetraPacker 2.1 Pro
  220. CN_Tetra22    =    39        ;TetraPacker 2.2
  221. CN_Tetra22Pro    =    40        ;TetraPacker 2.2 Pro
  222. CN_Tetra102    =    41        ;TetraCrunch 1.02
  223. CN_Tetra11    =    42        ;TetraCrunch 1.1
  224. CN_Stone299d    =    43        ;Stone Cracker 2.99d
  225. CN_Stone311    =    44        ;Stone Cracker 3.11
  226. CN_Stone401A    =    45        ;Stone Cracker 4.01 A
  227. CN_Imploder31    =    46        ;Imploder 1.0-3.1
  228. CN_Imploder31P    =    47        ;Imploder 1.0-3.1 Protected
  229. CN_Imploder31L    =    48        ;Imploder 1.0-3.1 Library
  230. CN_Imploder31LP    =    49        ;Imploder 1.0-3.1 Library/Protected
  231. CN_Imploder40    =    50        ;Imploder 4.0
  232. CN_Imploder40L    =    51        ;Imploder 4.0 Library
  233. CN_BlkDec21    =    52        ;Black & Decker 2.0-2.1
  234. CN_BytKil20    =    53        ;ByteKiller 2.0
  235. CN_BytKil30    =    54        ;ByteKiller 3.0
  236. CN_TNMCrun11    =    55        ;TNM Cruncher 1.1
  237. CN_CrunMast10    =    56        ;Crunch Master 1.0
  238. CN_CrMania14A    =    57        ;Crunch Mania 1.4-1.9t A
  239. CN_CrMania14AP    =    58        ;Crunch Mania 1.4-1.8 A/P
  240. CN_CrMania14D    =    59        ;Crunch Mania 1.4-1.9t D
  241. CN_CrMania18R    =    60        ;Crunch Mania 1.4-1.9t R
  242. CN_CrMania18RS    =    61        ;Crunch Mania 1.4-1.9t R/S
  243. CN_CrMania18RL    =    62        ;Crunch Mania 1.8-1.9t R/L
  244. CN_CrMania18RLH    =    63        ;Crunch Mania 1.8-1.9t R/L/H
  245. CN_CrMania18RH    =    64        ;Crunch Mania 1.8-1.9t R/H
  246. CN_CrMania18DH    =    65        ;Crunch Mania 1.8-1.9t D/H
  247. CN_CrMania18DHS    =    66        ;Crunch Mania 1.8-1.9t D/H/S
  248. CN_CrMania18DS    =    67        ;Crunch Mania 1.8-1.9t D/S
  249. CN_DoubAction10    =    68        ;Double Action 1.0
  250. CN_DragPack10    =    69        ;DragPack 1.0
  251. CN_House14    =    70        ;House 1.4 (RSI-Packer)
  252. CN_HPC        =    71        ;High Pressure Cruncher
  253. CN_HPCU        =    72        ;High Pressure Cruncher U
  254. CN_IAM10Ice    =    73        ;IAM Packer Pro 1.0 Ice
  255. CN_IAM10IceD    =    74        ;IAM Packer Pro 1.0 Ice/D
  256. CN_IAM10Atm5    =    75        ;IAM Packer Pro 1.0 Atm5
  257. CN_IAM10Atm5D    =    76        ;IAM Packer Pro 1.0 Atm5/D
  258. CN_ISC15P1    =    77        ;ISC 1.5 Pass 1
  259. CN_ISC15P2    =    78        ;ISC 1.5 Pass 2
  260. CN_ISC15P3    =    79        ;ISC 1.5 Pass 3
  261. CN_MastCrun31A    =    80        ;Master Cruncher 3.0-3.1 A
  262. CN_MastCrun31R    =    81        ;Master Cruncher 3.0-3.1 R
  263. CN_MastCrun31D    =    82        ;Master Cruncher 3.0-3.1 D
  264. CN_MegaCrun10    =    83        ;Megacruncher 1.0
  265. CN_MegaCrun12A    =    84        ;Megacruncher 1.2 A
  266. CN_MegaCrun12R    =    85        ;Megacruncher 1.2 R
  267. CN_Defjam36    =    86        ;Defjam 3.2-3.6
  268. CN_Defjam36Pro    =    87        ;Defjam 3.2-3.6 Pro
  269. CN_PackIt10    =    88        ;PackIt 1.0
  270. CN_PackIt10D    =    89        ;PackIt 1.0 D
  271. CN_Relokit10    =    90        ;Relokit 1.0
  272. CN_Spike15    =    91        ;Spike Cruncher 1.1-1.5
  273. CN_SuperCrun27    =    92        ;Super Cruncher 2.7
  274. CN_Syncro46    =    93        ;Syncro Packer 4.6
  275. CN_Syncro46K    =    94        ;Syncro Packer 4.6 K
  276. CN_Syncro46R    =    95        ;Syncro Packer 4.6 R
  277. CN_Syncro46RK    =    96        ;Syncro Packer 4.6 R/K
  278. CN_Stone400    =    97        ;Stone Cracker 4.00
  279. CN_Stone400D    =    98        ;Stone Cracker 4.00 D
  280. CN_Stone401C    =    99        ;Stone Cracker 4.01 C
  281. CN_Stone401D    =    100        ;Stone Cracker 4.01 D
  282. CN_XpkBLZW    =    101        ;XPK-BLZW
  283. CN_XpkCBR0    =    102        ;XPK-CBR0
  284. CN_XpkDLTA    =    103        ;XPK-DLTA
  285. CN_XpkFEAL    =    104        ;XPK-FEAL
  286. CN_XpkHUFF    =    105        ;XPK-HUFF
  287. CN_XpkIDEA    =    106        ;XPK-IDEA
  288. CN_XpkIMPL    =    107        ;XPK-IMPL
  289. CN_XpkNONE    =    108        ;XPK-NONE
  290. CN_XpkNUKE    =    109        ;XPK-NUKE
  291. CN_XpkRDCN    =    110        ;XPK-RDCN
  292. CN_XpkRLEN    =    111        ;XPK-RLEN
  293. CN_XpkSHRI    =    112        ;XPK-SHRI
  294. CN_MaxPacker12    =    113        ;MaxPacker 1.2
  295. CN_PMC        =    114        ;PMC Cruncher
  296. CN_Stone271    =    115        ;Stone Cracker 2.6a-2.71
  297. CN_Stone271K    =    116        ;Stone Cracker 2.6a-2.71 K
  298. CN_Stone310    =    117        ;Stone Cracker 3.10
  299. CN_Stone402    =    118        ;Stone Cracker 4.02a
  300. CN_Stone402A    =    119        ;Stone Cracker 4.02a A
  301. CN_Stone402D    =    120        ;Stone Cracker 4.02a D
  302. CN_Stone402L    =    121        ;Stone Cracker 4.02a L
  303. CN_Turtle200    =    122        ;Turtle Smasher 2.00
  304. CN_Turtle200D    =    123        ;Turtle Smasher 2.00 D
  305. CN_ANC        =    124        ;ANC-Cruncher
  306. CN_DisImp10    =    125        ;Discovery File Imploder 1.0
  307. CN_HQC20    =    126        ;HQC Cruncher 2.0
  308. CN_XpkCRM2    =    127        ;XPK-CRM2
  309. CN_XpkENCO    =    128        ;XPK-ENCO
  310. CN_XpkFAST    =    129        ;XPK-FAST
  311. CN_Stone292    =    130        ;Stone Cracker 2.92
  312. CN_Stone299    =    131        ;Stone Cracker 2.99
  313. CN_PCompress29    =    132        ;P-Compress 2.9
  314. CN_CrMania19AP    =    133        ;Crunch Mania 1.9t A/P
  315. CN_CrMania19AH    =    134        ;Crunch Mania 1.9t A/H
  316. CN_CrMania19AHP    =    135        ;Crunch Mania 1.9t A/H/P
  317. CN_TSqueeze61    =    136        ;TurboSqueezer 6.1
  318. CN_FlashSpeed10    =    137        ;FlashSpeed 1.0
  319. CN_BytKilPro10    =    138        ;ByteKiller 1.0 Pro
  320. CN_BytKilPro10K    =    139        ;ByteKiller 1.0 Pro K
  321. CN_Stone401bA    =    140        ;Stone Cracker 4.01ß A
  322. CN_TrashEli10    =    141        ;Trash Eliminator 1.0
  323. CN_Ultimate11b    =    142        ;Ultimate Packer 1.1b
  324. CN_TFA154    =    143        ;TFA Cruncher 1.54
  325. CN_SExec11    =    144        ;S-Exec 1.1
  326. CN_Stone4102    =    145        ;Stone Cracker 4.10.2
  327. CN_Stone4102A    =    146        ;Stone Cracker 4.10.2 A
  328. CN_Stone4102AP    =    147        ;Stone Cracker 4.10.2 A/Plain
  329. CN_Stone4102APr    =    148        ;Stone Cracker 4.10.2 A/Pro
  330. CN_Stone4102D    =    149        ;Stone Cracker 4.10.2 D
  331. CN_Stone4102L    =    150        ;Stone Cracker 4.10.2 L
  332. CN_DragPack252    =    151        ;DragPack 2.52
  333. CN_DragPack252D    =    152        ;DragPack 2.52 D
  334. CN_Stone300    =    153        ;Stone Cracker 3.00
  335. CN_Stone300D    =    154        ;Stone Cracker 3.00 D
  336. CN_Stone300K    =    155        ;Stone Cracker 3.00 K
  337. CN_XpkSQSH    =    156        ;XPK-SQSH
  338.  
  339. ; This Label Will Be Deleted Later On
  340.  
  341. CN_ComCra11    =    CN_TNMCrun11    ;Compressor Crackings Inc. V1.1
  342.     ENDC
  343.